/**
 * Copyright 2015 厦门市合趣息科技有限公司 (http://www.hequ.info). All rights reserved.
 * Encoding UTF-8
 * Version: 1.0
 * Date: 2015-4-8
 * History:	
 */

package com.kzc.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.kzc.domain.User;
import com.kzc.utils.DBUtil;


/**
 *
 * @author 柯尊诚 (kezuncheng@hequ.info)
 * @version Revision: 1.0.0 Date: 2015-4-8
 */
public class UserDaoImpl implements UserDao {

    @Override
    public void add(User user) {
        try {
            String sql = "INSERT INTO `t_user`(t_area,t_town,t_name,t_sex,t_nation,t_birthday,t_face,t_culture,t_place,t_company,t_position,t_address,t_telphone,t_phone,t_fax,t_aspiring_position,t_mail,t_site,t_qq,t_weixin,t_weibo,t_remarks,t_ispay,t_pay_transfer,t_pay_cash,t_donations_transfer,t_donations_cash,t_total,t_date) VALUES ('?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?');";
            List values = new ArrayList();
            values.add(user.getArea());
            values.add(user.getTown());
            values.add(user.getName());
            values.add(user.getSex());
            values.add(user.getNation());
            values.add(user.getBirthday());
            values.add(user.getFace());
            values.add(user.getCulture());
            values.add(user.getPlace());
            values.add(user.getCompany());
            values.add(user.getPosition());
            values.add(user.getAddress());
            values.add(user.getTelphone());
            values.add(user.getPhone());
            values.add(user.getFax());
            values.add(user.getAspirting_position());
            values.add(user.getMail());
            values.add(user.getSite());
            values.add(user.getQq());
            values.add(user.getWeixin());
            values.add(user.getWeibo());
            values.add(user.getRemarks());
            values.add(user.getIspay());
            values.add(user.getPay_transfer());
            values.add(user.getPay_cash());
            values.add(user.getDo_transfer());
            values.add(user.getDo_cash());
            values.add(user.getTotal());
            values.add(user.getDate());
            DBUtil.add(sql, values);
        } catch (Exception e) {
           throw new RuntimeException(e);
        }
    }
    

    @Override
    public void update(User user, String id) {
        try {
            String sql = "update t_user set t_area=?,t_town=?,t_name=?,t_sex=?,t_nation=?,t_birthday=?,t_face=?,t_culture=?,t_place=?,t_company=?,t_position=?,t_address=?,t_telphone=?,t_phone=?,t_fax=?,t_aspiring_position=?,t_mail=?,t_site=?,t_qq=?,t_weixin=?,t_weibo=?,t_remarks=?,t_ispay=?,t_pay_transfer=?,t_pay_cash=?,t_donations_transfer=?,t_donations_cash=?,t_total=?,t_date where id=?";
            List values = new ArrayList();
            values.add(user.getArea());
            values.add(user.getTown());
            values.add(user.getName());
            values.add(user.getSex());
            values.add(user.getNation());
            values.add(user.getBirthday());
            values.add(user.getFace());
            values.add(user.getCulture());
            values.add(user.getPlace());
            values.add(user.getCompany());
            values.add(user.getPosition());
            values.add(user.getAddress());
            values.add(user.getTelphone());
            values.add(user.getPhone());
            values.add(user.getFax());
            values.add(user.getAspirting_position());
            values.add(user.getMail());
            values.add(user.getSite());
            values.add(user.getQq());
            values.add(user.getWeixin());
            values.add(user.getWeibo());
            values.add(user.getRemarks());
            values.add(user.getIspay());
            values.add(user.getPay_transfer());
            values.add(user.getPay_cash());
            values.add(user.getDo_transfer());
            values.add(user.getDo_cash());
            values.add(user.getTotal());
            values.add(user.getDate());
            values.add(id);
            DBUtil.update(sql, values);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    @Override
    public boolean delete(String id) {
        String sql ="delete from t_user where id=?";
        List values = new ArrayList();
        values.add(id);
        return DBUtil.delete(sql, values);
    }

    @Override
    public List<User> query(String id) {
        String sql = "select * from t_user";
        ResultSet rs = DBUtil.query(sql, new ArrayList<Object>());
        List<User> list = new ArrayList<User>();
        try {
            while (rs.next()) {
                User user = new User();
                user.setArea(rs.getString("t_area"));
                user.setTown(rs.getString("t_town"));
                user.setName(rs.getString("t_name"));
                user.setSex(rs.getString("t_sex"));
                user.setNation(rs.getString("t_nation"));
                user.setBirthday(rs.getString("t_birthday"));
                user.setFace(rs.getString("t_face"));
                user.setCulture(rs.getString("t_culture"));
                user.setPlace(rs.getString("t_place"));
                user.setCompany(rs.getString("t_company"));
                user.setPosition(rs.getString("t_position"));
                user.setAddress(rs.getString("t_address"));
                user.setTelphone(rs.getString("t_telphone"));
                user.setPhone(rs.getString("t_phone"));
                user.setFax(rs.getString("t_fax"));
                user.setAspirting_position(rs.getString("t_aspiring_position"));
                user.setMail(rs.getString("t_mail"));
                user.setSite(rs.getString("t_site"));
                user.setQq(rs.getString("t_qq"));
                user.setWeixin(rs.getString("t_weixin"));
                user.setWeibo(rs.getString("t_weibo"));
                user.setRemarks(rs.getString("t_remarks"));
                user.setIspay(rs.getString("t_ispay"));
                user.setPay_transfer(rs.getInt("t_pay_transfer"));
                user.setPay_cash(rs.getInt("t_pay_cash"));
                user.setDo_transfer(rs.getInt("t_donations_transfer"));
                user.setDo_cash(rs.getInt("t_donations_cash"));
                user.setTotal(rs.getInt("t_total"));
                user.setDate(rs.getString("t_date"));
                list.add(user);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                DBUtil.closeConnection(rs.getStatement().getConnection(), rs.getStatement(), rs);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return list;
        }
        
    }

}
